<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<p>在 Microsoft? SQL Server? 中，表中行的最大允许大小为 8060 字节。一个行不能跨数据页进行拆分。一个数据页大小为 8 KB，由数据行和一些内部数据结构组成。</p>
<p>所以下面的SQL 语句创建表会报警告信息：</p>
<p>CREATE TABLE [dbo].[TestTable] (<br />
  [ID] [int] IDENTITY (1, 1) NOT NULL ,<br />
  [content1] [nvarchar] (4000) NULL ,<br />
  [content2] [nvarchar] (4000) NULL<br />
  )</p>
<p>Warning: The table 'TestTable' has been created but its maximum row size (16029) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.</p>
<p>但是表仍然被创建了。但是在你做 Insert  Update 操作的时候，就会报错误信息。</p>
<p>解决方法：</p>
<p>重新设计表结构。把它分成两个表，或者用Text字段。</p>
<p>Text 字段由于它的存储方式。他在数据行只占16个字节的指针。</p>
</body>
</html>
